課程資訊
課程名稱
計算機程式設計
INTRODUCTION TO COMPUTER PROGRAMMING 
開課學期
99-1 
授課對象
資訊工程學系  
授課教師
王傑智 
課號
CSIE1210 
課程識別碼
902 48000 
班次
02 
學分
全/半年
半年 
必/選修
必帶 
上課時間
星期一2,3,4(9:10~12:10) 
上課地點
 
備註
教室資R204(電腦教室)
限學號雙號 且 限本系所學生(含輔系、雙修生)
總人數上限:80人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/991c 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

This course will introduce computer programming in C. This freshman CS course will assume no priori experience about computer. We will cover basic operations about computer, then move on to how to write computer program in a language called C. Various C concepts will be introduced, including the following:

*basic data types
*operator and expression
*program flow control
*modulization with functions.
*arrays and structure
*the usage of pointer
*Standard I/O library and file processing
*C preprocessor

If time permits, we will cover basic object-oriented concepts in C++ and Java.

*Data abstraction
*Inheritance
*Polymorphism

This course will also introduce `programming style`, which I toughly define as the practice of writing code that is clean, easy to understand, and easy to maintain. Various examples will given to illustrate both good and bad programming style.

This course is a introductory course of computer programming, I will still give out a good number of homework so that the students can have extensive hand-on experience on how to write programs. I will also cover some programming experiences, especially in debugging and utilizing system tools to improve programmer productivity. 

課程目標
 
課程要求
 
預期每週課後學習時數
 
Office Hours
另約時間 
指定閱讀
 
參考書目
 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
Week 0
9/09  All slides of the textbook 
Week 1
9/13  Introduction 
Week 2
9/20  Introduction to C Programming 
Week 3
9/27  Structured Program Development  
Week 4
10/04  Program Control 
Week 5
10/11  Functions 
Week 6
10/18  Midterm Exam I 
Week 7
10/25  Arrays 
Week 8
11/01  Pointers 
Week 9
11/08  Characters and Strings 
Week 10
11/15  No Class 
Week 11
11/22  Formatted Input/Output 
Week 12
11/29  Midterm Exam II 
Week 13
12/06  Structures, Unions, Bit Manipulations and Enumerations 
Week 14
12/13  File Processing 
Week 15
12/20  Data Structures (I) 
Week 16
12/27  Data Structures (II) 
Week 17
1/03  Preprocessor  
Week 18
1/10  Sorting: A Deeper Look 
Week 19
1/17  Final Exam